import os
from axiom_boot import AxiomApplication

# 1. (为生产环境新增) 在全局范围创建应用实例
# 这使得 `gunicorn app:app` 可以找到名为 `app` 的 ASGI 变量。
# AxiomApplication 在初始化时会自动查找和加载 .env 文件。
axiom_application = AxiomApplication()
app = axiom_application

# 2. (为本地开发保留) 保留您现有的直接运行功能
if __name__ == "__main__":
    # 诊断代码可以保持不变，因为它不影响 Gunicorn 的导入行为。
    config_filename = ".env"
    cwd = os.getcwd()
    env_file_path = os.path.join(cwd, config_filename)
    
    print("="*60)
    print("              Axiom Boot 启动环境诊断")
    print("="*60)
    print(f"当前工作目录 (CWD): {cwd}")
    print(f"期望的配置文件名: {config_filename}")
    print(f"正在检查配置文件路径: {env_file_path}")
    
    if os.path.exists(env_file_path):
        print("诊断结果: ✅  配置文件已成功找到！")
    else:
        print("诊断结果: ❌  警告！在当前工作目录下未找到配置文件。")
        print("         将使用代码中定义的默认值。")
    print("="*60)
    
    # 使用静态工厂方法，这会正确加载 .env 文件并启动应用。
    # 这将恢复您原始的、能够正常工作的启动逻辑。
    AxiomApplication.run_app(
        config_file=config_filename
    )
